package com.zatech.cgnci.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zatech.cgnci.project.dto.CgnciCodeTypeAddDTO;
import com.zatech.cgnci.project.dto.CgnciCodeTypeQueryDTO;
import com.zatech.cgnci.project.dto.CgnciCodeTypeUpdateDTO;
import com.zatech.cgnci.project.entity.CgnciCodeTypeDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zatech.cgnci.project.vo.AllCgnciCodeTypeVO;
import com.zatech.cgnci.project.vo.CgnciCodeTypeVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 基础信息表 服务类
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
public interface CgnciCodeTypeService extends IService<CgnciCodeTypeDO> {

    IPage<CgnciCodeTypeVO> pageHigherCode(CgnciCodeTypeQueryDTO queryDTO);

    IPage<CgnciCodeTypeVO> pageCode(CgnciCodeTypeQueryDTO queryDTO);

    void addCode(CgnciCodeTypeAddDTO codeTypeAddDTO);

    void updateCode(CgnciCodeTypeUpdateDTO codeTypeUpdateDTO);

    String getBusinessNo(String codeHigherLevelCode, String codeName);
    
    Map<String, List<AllCgnciCodeTypeVO>> queryAll();
    
    void downloadTemplate(HttpServletResponse response);

    CgnciCodeTypeVO getCodeTypeByCode(String codeHigherLevelCode, String codeCode);

}
